//
//  PersonalData.swift
//  XGamesLive
//
//  Created by ios on 2024/5/17.
//

import Foundation
import SmartCodable


struct CoinData: SmartCodable{
    var userId: String = ""
    var amount: CGFloat = 0
}

struct UserFollowAndFansNumData: SmartCodable {
    var followingNumber: NSInteger = 0
    var followerNumber: NSInteger = 0
    var nickname: String = ""
    var gender: NSInteger = 0
    var header: String = ""
    var id: NSInteger = 0
}

struct FollowAndFansuserData: SmartCodable {
    var header: String = ""
    var nickname: String = ""
    var following: NSInteger = 0
    var id: String = ""
}

struct VideoData {
    var id: String = ""
    var videoType: NSInteger = 0
    var feeType: NSInteger = 0
    var feeGold: NSInteger = 0
    var title: String = ""
    var videoUrl: String = ""
    var videoCoverUrl: String = ""
    var likeCount: NSInteger = 0
    var checkStatus: NSInteger = 0
    var musicType: String = ""
    var image: UIImage?
}


struct PublishParamsData: SmartCodable {
    ///live: 1  talk: 2 comment: 3 liveChat: 4
    var data1: String = ""
    ///name
    var data2: String?
    ///imageUrl or videoUrl
    var data3: String?
    ///image: 1 video: 2
    var data4: String?
    ///topic
    var data5: String?
    ///label
    var data6: String?
    ///video cover
    var data7: String?

    var pid: String?
    /// comment content
    var data8: String?
}

struct PublishData: SmartCodable {
    ///live: 1  talk: 2
    var data1: String = ""
    ///name
    var data2: String = ""
    ///imageUrl or videoUrl
    var data3: String?
    ///image: 1 video: 2
    var data4: String = ""
    ///topic
    var data5: String = ""
    ///label
    var data6: String = ""
    ///video cover
    var data7: String?
    
    
    var auditUserExt: CompleteInfor?
    var followNum: NSInteger = 0
    var followStatus: NSInteger = 0
    var userId: NSInteger = 0
    var id: String = ""
    var createTime: String = ""
    var level: NSInteger = 0
    var giftNum: NSInteger = 0
    var fansNum: NSInteger = 0

    var listActionType: [NSInteger] = []
    var listActionCount: [ActionCount] = []
}

struct ActionCount: SmartCodable{
    var type: NSInteger = 0
    /// number
    var cnt: NSInteger = 0
}

struct VideoUploadResult: SmartCodable {
    var videoPath: String = ""
    var coverPath: String = ""
}

struct PublishCommentData: SmartCodable {
    /// comment content
    var data8: String = ""
    var createTime: String = ""
    var id: String = ""
    var auditUserExt: CompleteInfor?
    var listActionType: [NSInteger] = []
    var listActionCount: [ActionCount] = []
}

struct SendGiftResult: SmartCodable {
    var userId: String = ""
    var amount: NSInteger = 0
    /// 0：This time failure，1：Success this time will suffice next time，2：Success this time won't be enough next time
    var enough: NSInteger = 0
}


struct BlacklistData: SmartCodable {
    var id: String = ""
    var nickname: String = ""
    var header: String = ""
}

struct RechargeCoinData: SmartCodable{
    var id: String = ""
    var type: NSInteger = 0
    ///ProductId
    var code: String = ""
    var gold: NSInteger = 0
    var originalGold: NSInteger = 0
    var addGold: NSInteger = 0
    var description: String = ""
    var price: CGFloat = 0
    var activity: NSInteger = 0
    var rechargeType: NSInteger = 0
    var serialNum: NSInteger = 0
    var isSelected: Bool = false
}
